﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CodeGenerator.Facade
{
    public static class DataTypeConvert
    {
        static Dictionary<string, string> keyValues;
        static DataTypeConvert()
        {
            keyValues = new Dictionary<string, string>();

            keyValues.Add("varchar", "string");
            keyValues.Add("nvarchar", "string");
            keyValues.Add("char", "string");
            keyValues.Add("nchar", "string");
            keyValues.Add("bit", "bool");
            keyValues.Add("tinyint", "byte");
            keyValues.Add("smallint", "short");
            keyValues.Add("int", "int");
            keyValues.Add("bigint", "long");
            keyValues.Add("real", "float");
            keyValues.Add("money", "decimal");
            keyValues.Add("decimal", "decimal");
            keyValues.Add("float", "double");
            keyValues.Add("datetime", "DateTime");
            keyValues.Add("date", "DateTime");
            keyValues.Add("text", "string");
            keyValues.Add("ntext", "string");
            keyValues.Add("image", "byte[]");
            keyValues.Add("binary", "byte[]");
            keyValues.Add("varbinary", "byte[]");
            keyValues.Add("uniqueidentifier", "Guid");
        }


        public static string GetDataType(string dataType, string IsNull)
        {
            if (keyValues.ContainsKey(dataType))
            {
                return keyValues[dataType] + (IsNull == "YES" ? "?" : "");
            }
            return "string";
        }



    }
}
